CPU 架构 ######## * ARM * MIPS * Xtensa * RISC-V * C-SKY * ARC .. figure:: https://img.zhaoweiguo.com/uPic/2022/04/nRCsYb.jpg 目前市场上四大主流指令集为 X86、MIPS、ARM、RISC-V 通用 ==== .. figure:: https://img.zhaoweiguo.com/uPic/2022/04/js64KF.jpg ARM vs X86架构 ARM 授权都分为处理器核授权(Core License)和结构授权(Architecture License)两类,核授权也称为 IP 授权,这又分为两类,即软核和硬核。可以把软核看作是电路原理图,硬核除了原理图之外,还有设计好的电路板和各元件的详细参数。比如最简单的照明电路就是由电源、导线、开关、电灯组成,这样一个电路图就像是软核,而室内装修安装电线、电灯等时,电线的直径、长度、走线的路径,电灯的种类、功率、安装的位置等等,就属于物理设计,也就是硬核。有了物理设计之后,才可以进行生产,CPU 的生产过程被称为流片。 软核授权是指 RTL 形式的 IP(加密版),获得授权后需要自己做物理设计,再去流片测试,最后量产。厂商可以进一步对架构进行强化,但不得二次销售最佳化完成的处理器 IP,但是可以任意营销其最终制品(包含芯片、开发样版、完整系统等等)。 硬核授权则可以取得 CPU 核心的闸极电路图,并且也会一并提供抽象模拟测试以及相关的测试程序,获得授权后几乎可以直接生产和测试。 结构授权就是指令集授权,指令集是 CPU 硬件与软件之间的接口描述,比如加法指令需要使用到哪些寄存器、支持哪些寻址模式、如何传入加数、从哪里得到结果,以及指令的各种格式对应的二进制操作码等。CPU 核设计就是要自己设计电路按照指令集的规范去实现各个指令的功能。获得指令集授权后,需要自己完成后续的所有工作,难度最大。因为难度大,所以一般指令集授权还包含技术支持、各种测试程序、检测验证等工具。通过结构授权自行设计的 IIP,MIPS 允许设计者二次销售,ARM 不允许,设计者只能销售最终制成品。虽然 MIPS 和 ARM 公司都在卖自己的 IP,但 MIPS 创始人是学院派,因此规矩比较宽松,而 ARM 则不能容忍使用自己指令集的其它公司抢自己的生意。 定义指令集本身没有技术难度,但由于指令是软件与硬件之间的接口规范,规范不同就会导致不同指令集的 CPU 不能相互兼容。比如 Windows 系统以前只有 x86 版,就不能在其它指令集的 CPU 上运行,后来增加了 ARM 版 Windows 10,但各种软件都还是 x86 指令集的,在 ARM CPU 的 Windows 上也不能直接运行。这说明购买指令集授权,本质是购买兼容此指令集的软件的运行权,也就是获得软件生态。指令集的价值体现在软件生态,而不是指令集本身。 X86 === 1978 年,Intel 在发布了新款 16 位处理器 “8086”,X86 的取名也正是由此而来。X86 的身影也能在当今众多强大的多核心处理器身上看到,X86 成就了 Intel 当今的霸主地位使后者成为全球首屈一指的芯片巨头,更成为了一种行业标准。除了 Intel 之外,AMD、Cyrix 等厂商也相继打造了一系列基于 X86 架构的 CPU,形成了今天人们所能见到庞大的 X86 系列及兼容 CPU 阵容。在服务器领域,X86 堪称独孤求败,其最大特色就是可以兼容 Windows 操作系统。 ARM 架构 ======== ARM 的优势在于效率,在完成综合性工作处于劣势,而 ARM 可快速启动进入状态,在任务相对固定的工业应用场合其优势就能发挥得淋漓尽致。 三大领域:: 1. Cortex-M 系列: M-Profile,即 "Microcontroller" -Profile,侧重微控制器单片机方面的场合 2. Cortex-R 系列: R-Profile,即 "Real-Time"-Profile,侧重于实时系统的场合 3. Cortex-A 系列: A-Profile,即 “Application”-Profile,侧重于应用功能的场合 .. figure:: https://img.zhaoweiguo.com/uPic/2022/04/3UO4kf.jpg 随着 ARMv6 的引入,ARM 核的叫法开始发生了变化,不在是以数字递增的方式命名。实际上也是分成了三大领域 M/R/A 基于 ARM 设计的派生产品,重要产品包括 Marvell 的 XScale 架构和 德州仪器的 OMAP 系列。 XScale ------ Xscale 是 Marvell 公司(之前是 Intel)针对嵌入式产品的核心,当初是 ARM 架构 v5TE 指令集的 CPU。2006 年 6 月,Intel 将其通信及应用处理器业务出售给 Marvell 公司,并作为一系列不同 微架构的处理器的品牌。 OMAP ---- 德州仪器 (TI) 公司的开放式多媒体应用平台 OMAP (Open Multimedia Application Platform) 是一种为满足移动多媒体信息处理及无线通信应用开发出来的高性能、高集成度嵌入式处理器。 在投资者的重压之下,德州仪器不得不放弃他们的移动芯片项目 —— 基于 ARM 的 OMAP 处理器家族。该项目耗费了大量的资金和人力资源,但是这些都无法撼动高通等竞争对手的霸主地位。选择使用德州仪器的 OMAP(开放式多媒体应用平台)的移动制造商已经越来越少,更多是选择高通,而三星和苹果则有自家的专属处理器 Exynos 和 A6。OMAP 最大劣势就其芯片组没有 3G/4G 调制解调器。这样使用 OMAP 的芯片组的制造商就不得的使用额外的无线芯片,无形之中增加了生产成本和电池消耗。 MIPS 架构 ========= 由于 MIPS 生态本身的衰落,龙芯多年来已经成为了兼容 MIPS 的唯一的桌面和服务器 CPU 设计者,在设计兼容 MIPS 的 CPU 的公司中,是唯一的桌面和服务器软硬件生态的建设者。 Xtensa 架构 =========== 与通用处理器架构相比,Xtensa 架构的特色在于它是可配置可扩展的微处理器架构。通俗地讲,将其与常见的 ARM 架构相比,Xtensa 架构的特色在于可以为不同种类的产品需求 “定制化” SOC 系统,快速生成专用的处理器。 每种处理器都有其相应的指令集,Xtensa 也不例外。Xtensa 指令集体系结构(Instruction Set Architecture,ISA)是一种新的后 RISC 指令集体系结构,面向嵌入式、通信和消费类产品。 .. figure:: https://img.zhaoweiguo.com/uPic/2022/04/33nOmC.jpg Xtensa ISA 可以使用多种管道来实现。一种典型的架构实现方案 Tensilica 公司日前宣布推出 Xtensa® 可配置处理器内核第七代产品 – Xtensa LX2 和 Xtensa 7。 RISC-V ====== RISC-V 于 2010 年问世,2014 年正式发布第一版用户手册,从 2015 年 RISC-V 基金会成立至今的第二个四年,RISC-V 基金会已经吸纳了包括英伟达、谷歌、高通、三星、IBM、索尼、阿里巴巴、华为、台积电等企业,以及 Berkeley Architecture Research、中科院计算等机构在内的 235 家会员单位。 相比 ARM、X86 等传统架构,RISC-V 指令集篇幅精简,且明确区分了用户和特权指令子集、核心基础指令集和标准可扩展指令子集,支持针对特定场景的开发,预留了大量编码空间,兼顾普适性、可扩展性和专业性需求。 .. note:: RISC-V 指令集架构具有低功耗、低成本、开源开放、可模块化、简洁、面积小、速度快等优点,与 IoT 场景需求碎片化的、可定制化的特性十分契合。 * 2018 年 10 月 29 日,创立于上海的企业乐鑫收到一个好消息。乐鑫 “基于 RISC-V 指令集架构的 ESP32-Marlin 物联网芯片” 项目入选上海经信委对软件和集成电路产业发展专项资金拟支持项目名单。 * OURS 的创始人谭章熹博士:在深圳设立的中资公司睿思芯科,仅用 7 个月就设计出了一款基于 64 位 RISC-V 指令集的 AI 芯片 Pygmy * Esperanto 的创始人 Dave Ditzel C-SKY 架构 ========== 在 AIoT 领域,阿里巴巴旗下中天微推出了基于 RISC-V 的 C-SKY 指令架构。截至 2018 年 9 月,中天微基于 C-SKY CPU IP 核的 SoC 芯片累计出货量已经突破 8 亿颗。 ARC === ARC 原為英商 ,2009/11 被記憶體 IP 廠商 , 美商 VirageLogic 收購 , 之後 VirageLogic 於 2010/6 又被美商 Synopsys 收購 参考 ==== * Xtensa 处理器架构基础 - 架构简介与常见寄存器: https://blog.csdn.net/wangyx1234/article/details/113728110